Communication systems are used to deliver information. Communication systems may be used to send information (e.g., data) from one electronic system to another electronic system. The sending electronic system typically includes a transmitter for processing data for transmission across a communication channel. The receiving electronic system includes a receiver for processing signals received across the communication channel. Typically, data is generated by one electronic system and forwarded to the transmitter, and the transmitter processes the data for transmission across the channel. Similarly, the receiver processes the received signal and forwards the data to a second electronic system.
Communication systems typically code data prior to transmission. For example, a receiver may code the data using a particular coding scheme, and the transmitter that receives the data uses a decoding scheme to recover the encoded data. The decoding scheme typically takes into account the particular coding scheme used to code the data. Coding the data helps to reduce and/or recover errors in the data that may occur during transmission across the communication channel.
In many communication applications, data processing for coding and/or decoding is a primary constraint of the system. For example, in a cellular communication system, a base station may be required to decode data from many cellular handsets. Thus, decoding in a base station may be very hardware intensive, and may account for over fifty (50) percent of the cost of the physical layer of the base station. Furthermore, data rates of 100 Mbps in some systems are moving to gigabit rates in next generation systems. Computational complexity requirements involve on the order of 500 GOPs (where “OPs” employ on the order of 8- to 12-bit precision variables) of processing power for some base stations. Generally, it would be advantageous to have more efficient techniques for decoding data in a communication system.